//package com.kehutong.house.app;
//
//import java.util.List;
//
//import org.coraframework.inject.Inject;
//import org.coraframework.json.JSONObject;
//import org.coraframework.mvc.MvcAction;
//import org.coraframework.mvc.http.ReqMapping;
//import org.coraframework.mvc.http.result.Result;
//import org.coraframework.orm.Pool;
//import org.coraframework.orm.jdbc.SQLSession;
//import org.coraframework.util.Objects;
//
//import com.kehutong.house.entity.Resident;
//import com.kehutong.house.entity.House;
//import com.kehutong.session.entity.Session;
//
//@MvcAction
//@ReqMapping("/app/contact/house")
//public class ContactHouseAction {
//
//    @Inject
//    private SQLSession sqlSession;
//
//    @ReqMapping("/list")
//    public Object list(Session session, JSONObject jsonObject) {
//        List<Resident> list = sqlSession.findArray(Resident.class)
//                .eq("contactId", session.getUserNo())
//                .eq("deleted",false)
//                .exe();
//
//        list.forEach(item ->{
//            House house = Pool.get(House.class, item.getHouseId());
//            item.setHouse(house);
//        });
//        
//        return Result.success(list);
//    }
//    
//    @ReqMapping("/getDefault")
//    public Object getDefault(Session session, JSONObject jsonObject) {
//    	Resident house = sqlSession.findOne(Resident.class)
//                .eq("contactId", session.getUserNo())
//                .eq("def", true)
//                .eq("deleted",false)
//                .exe();
//
//    	if (Objects.nonNull(house)) {
//            House houseInfo = Pool.get(House.class, house.getHouseId());
//            house.setHouse(houseInfo);
//    	}
//
//        return Result.success(house);
//    }
//
//    @ReqMapping("/delete")
//    public Object delete(String id) {
//    	Resident item = Pool.get(Resident.class, id);
//        if(Objects.nonNull(item)){
//            item.setDeleted(true);
//            sqlSession.updateById(item);
//
//            checkSetDef(item);
//        }
//        return Result.success();
//    }
//
//    @ReqMapping("/update")
//    public Object update(String id) {
//    	Resident item = Pool.get(Resident.class, id);
//    	checkSetUnDef(item);
//      
//        //将当前获取到的房屋信息设置成默认选中
//        item.setDef(true);
//        sqlSession.updateById(item);
//
//        return Result.success();
//    }
//    
//    private void checkSetDef(Resident item) {
//        //如果删除的这条数据默认选中的房屋则绑定获取到的第一条数据为默认选中的房屋
//        if(item.isDef()){
//            List<Resident> list = sqlSession.findArray(Resident.class)
//                    .eq("contactId", item.getContactId())
//                    .eq("def", false)
//                    .eq("deleted", false)
//                    .exe();
//            if(Objects.nonEmpty(list)){
//            	Resident entity = list.get(0);
//                entity.setDef(true);
//                sqlSession.updateById(entity);
//            }
//        }
//    }
//    
//    private void checkSetUnDef(Resident item) {
//	   List<Resident> list = sqlSession.findArray(Resident.class)
//                   .eq("contactId", item.getContactId())
//                   .eq("def", true)
//                   .eq("deleted", false)
//                   .noEq("id", item.getId())
//                   .exe();
//	   list.forEach(data->data.setDef(false));
//       sqlSession.updateById(list);
//    }
//}
